Skip to content

Comments

Add Python 3.14 support#2828

Merged
MaxGhenis merged 1 commit intomasterfrom
upgrade-python-3.14
Feb 24, 2026
Merged

Add Python 3.14 support#2828
MaxGhenis merged 1 commit intomasterfrom
upgrade-python-3.14

Conversation

@MaxGhenis
Copy link
Collaborator

@MaxGhenis MaxGhenis commented Oct 8, 2025

Summary

  • Add Python 3.14 to package classifiers and set python_requires >= 3.11 (dropping 3.10)
  • Update CI workflow Python versions from 3.11 to 3.12
  • Update Docker base images from python:3.11 to python:3.12
  • Remove stale faiss-cpu<1.8.0 version pin (all current releases are >= 1.8)
  • Replace pre-built Docker container in test job with setup-python + redis (the old container used Python 3.10, incompatible with python_requires >= 3.11)
  • Update stale test_utah expected values for policyengine_us 1.562.3
  • Add .python-version file for 3.14

Follows policyengine-core's recent Python 3.14 support merge. PyTables 3.11.0 now ships wheels for 3.14.

Fixes #2822

@MaxGhenis
Copy link
Collaborator Author

Status Update

Python 3.14 was released on October 7, 2025. CI tests are currently failing because h5py doesn't have Python 3.14 wheels yet.

Current Situation

  • h5py has Python 3.14 wheels in nightly builds
  • Stable release (h5py 3.15) is being planned (issue #2651)
  • Building h5py from source is failing on Python 3.14

Next Steps

This PR will remain in draft status until h5py 3.15 is released on PyPI. Once that happens, CI should pass and the PR can be marked ready for review.

Tracking: h5py/h5py#2713

@MaxGhenis MaxGhenis force-pushed the upgrade-python-3.14 branch 3 times, most recently from 416fdfe to 16df366 Compare February 24, 2026 11:28
- Add Python 3.14 classifier and python_requires >= 3.11 to setup.py
- Update CI workflows from Python 3.11 to 3.12
- Update Docker images from Python 3.11 to 3.12
- Remove stale faiss-cpu<1.8.0 version pin (no such versions exist)
- Replace pre-built container in test job with setup-python + redis
- Update stale test_utah expected values for policyengine_us 1.562.3
- Add .python-version for 3.14

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@codecov
Copy link

codecov bot commented Feb 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.10%. Comparing base (1957e8e) to head (1e18234).
⚠️ Report is 13 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2828      +/-   ##
==========================================
- Coverage   70.76%   70.10%   -0.67%     
==========================================
  Files          56       56              
  Lines        2398     2398              
  Branches      341      419      +78     
==========================================
- Hits         1697     1681      -16     
  Misses        641      641              
- Partials       60       76      +16     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@MaxGhenis MaxGhenis marked this pull request as ready for review February 24, 2026 17:30
@MaxGhenis MaxGhenis merged commit dd75f2e into master Feb 24, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade to Python 3.14

1 participant